As an increasing number of applications and services are being made available over networks such as the Internet, an increasing number of content, application, and/or service providers are turning to shared-resource technologies such as cloud computing and distributed data centers. Users can be provided with access to various electronic resources through services, such as Web services, where the hardware and/or software used to support those services is dynamically scalable to meet the needs of the services at any given time. A user or customer typically will rent, lease, or otherwise pay for access to these shared resources.
Many conventional networks rely upon users to utilize a “fair share” approach, wherein each user will follow the guidelines or other agreed-upon terms for shared access to various resources. In some cases, however, users are able to modify one or more aspects of a device, resource, or network, or traffic across that network, that enables those users to obtain an unequal share of a resource. For example, a user submitting requests across a network such as the Internet might use a transmission protocol such as the Transmission Control Protocol (TCP) or the User Datagram Protocol (UDP) to transmit packets. Conventional TCP approaches rely on users ramping up traffic at a certain rate, utilizing the bandwidth at a reasonable rate, and backing off that rate in the case of a congestion event in a cooperative, shared approach. A user might instead ramp up traffic very quickly, refuse to back off due to congestion, consume an unfair amount of bandwidth, or otherwise abuse the system or otherwise operate outside compliant behavior at the expense of the other users sharing that resource. Conventional approaches are limited in their ability to monitor this behavior and make adjustments to particular user traffic to prevent unfair use and/or congestion due to an abusive user or application.